from modules import *
import random
from utils.tools import 暂无数据,随机获取列表

class 问题列表(Page_Object):
    def __init__(self, page: Page):
        super().__init__(page)
        self.全部 = self.page.locator(".el-radio-button__inner").nth(0)
        self.待办 = self.page.locator(".el-radio-button__inner").nth(1)
        self.上报区域 = self.page.locator(".el-input--suffix").nth(0)
        self.选择街道 = self.page.locator(".el-cascader-menu__wrap").nth(2).locator("li")
        self.选择社区 = self.page.locator(".el-cascader-menu__wrap").nth(3).locator("li").nth(0).locator(".el-radio__inner")

        self.责任主体 = self.page.locator(".el-input--suffix").nth(1)
        self.主体街道 = self.page.locator(".el-cascader-menu__wrap").nth(5).locator("li").nth(0)
        self.主体街道列表 = self.page.locator(".el-cascader-menu__wrap").nth(6).locator("label").nth(0)
        self.主体部门 = self.page.locator(".el-cascader-menu__wrap").nth(5).locator("li").nth(1)
        self.主体部门列表 = self.page.locator(".el-cascader-menu__wrap").nth(6).locator("label").nth(0)

        self.问题类型 = self.page.locator(".el-input--suffix").nth(2)
        self.问题列表 = self.page.locator(".el-cascader-menu__wrap").nth(6).locator("li")

        self.问题简述 = self.page.locator(".el-input--suffix").nth(3).locator("input")
        self.问题来源 = self.page.locator(".el-input--suffix").nth(4)

        self.状态 = self.page.locator(".el-input--suffix").nth(5)
        self.状态列表 = self.page.locator(".el-select-dropdown__wrap").nth(1).locator("li")

        self.查询 = self.page.get_by_text("查询")
        self.重置 = self.page.get_by_text("重置")

        # self.暂无数据 = self.page.locator(".el-table__empty-text")
        # self.搜索结果第二列 = self.page.locator(".is-scrolling-left").locator("tbody").locator("tr").nth(0).locator("td").nth(1)


    def navigate(self):
        self.跳转("/issue/issue")

    def search_搜索(self, 问题简述):
        暂无数据(self.page)
        self.全部.click()
        self.上报区域.click()
        随机获取列表(self.page)

        # 选择街道 = self.page.locator(".el-cascader-menu__wrap").nth(2).locator("li")
        # count = 选择街道.count()
        # if count > 0:
        #     # 随机选择一个索引
        #     random_index = random.randint(0, count - 1)
        #     # 点击对应的 li
        #     选择街道.nth(random_index).click()
        self.选择社区.click()
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()

        self.责任主体.click()
        self.主体街道.click()
        self.主体街道列表.click()
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()
        
        self.责任主体.click()
        self.主体部门.click()
        self.主体部门列表.click()
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()

        self.问题类型.click()
        选择列表内容 = self.page.locator(".el-cascader-menu__wrap").nth(6).locator("label")
        count = self.问题列表.count()
        if count > 0:
            # 随机选择一个索引
            random_index = random.randint(0, count - 1)
            # 点击对应的 li
            if random_index == 1:
                选择列表内容.nth(random_index).click()
                二级列表 = self.page.locator(".el-cascader-menu__wrap").nth(7).locator("label")
                count_t = 二级列表.count()
                if count_t > 0:
                    random_index = random.randint(0, count_t - 1)
                    二级列表.nth(random_index).click()
            选择列表内容.nth(random_index).click()
            self.查询.click()
            暂无数据(self.page)
            self.重置.click()

        self.问题简述.fill(问题简述)
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()

        self.问题来源.click()
        问题来源列表 = self.page.locator(".el-cascader-menu__wrap").nth(6).locator("li")
        count = 问题来源列表.count()
        if count > 0:
            # 随机选择一个索引
            random_index = random.randint(0, count - 1)
            # 点击对应的 li
            问题来源列表.nth(random_index).click()
        暂无数据(self.page)
        self.重置.click()

        self.状态.click()
        状态列表 = self.状态列表
        count = 状态列表.count()
        if count > 1:
            # 随机选择一个索引
            random_index = random.randint(1, count - 1)
            # 点击对应的 li
            状态列表.nth(random_index).click()
        暂无数据(self.page)
        self.重置.click()
